<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: elftosb::ELFSourceFile::ELFDataSource Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">elftosb::ELFSourceFile::ELFDataSource Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A data source with ELF file sections as the contents.  
 <a href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="apps_2elftosb_2common_2_e_l_f_source_file_8h_source.html">ELFSourceFile.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for elftosb::ELFSourceFile::ELFDataSource:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source__inherit__graph.svg" width="166" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for elftosb::ELFSourceFile::ELFDataSource:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source__coll__graph.svg" width="1416" height="475"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_no_bits_segment.html">NoBitsSegment</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents one named #SHT_NOBITS section within the ELF file.  <a href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_no_bits_segment.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_prog_bits_segment.html">ProgBitsSegment</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents one named #SHT_PROGBITS section within the ELF file.  <a href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_prog_bits_segment.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a81113f1ded9bf98ed0417230ed2689e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81113f1ded9bf98ed0417230ed2689e2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a81113f1ded9bf98ed0417230ed2689e2">ELFDataSource</a> (<a class="el" href="class_st_e_l_f_file.html">StELFFile</a> *elf)</td></tr>
<tr class="memdesc:a81113f1ded9bf98ed0417230ed2689e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a81113f1ded9bf98ed0417230ed2689e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516924dd7eb8a08dced8ff2c87bb754d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a516924dd7eb8a08dced8ff2c87bb754d"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a516924dd7eb8a08dced8ff2c87bb754d">~ELFDataSource</a> ()</td></tr>
<tr class="memdesc:a516924dd7eb8a08dced8ff2c87bb754d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a516924dd7eb8a08dced8ff2c87bb754d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62c88ac2b32b699416b888bbe4699d73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62c88ac2b32b699416b888bbe4699d73"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a62c88ac2b32b699416b888bbe4699d73">setSecinfoOption</a> (secinfo_clear_t option)</td></tr>
<tr class="memdesc:a62c88ac2b32b699416b888bbe4699d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the option to control .secinfo usage. <br /></td></tr>
<tr class="separator:a62c88ac2b32b699416b888bbe4699d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6874a986382fab432109f173cc34f61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#ac6874a986382fab432109f173cc34f61">addSection</a> (unsigned sectionIndex)</td></tr>
<tr class="memdesc:ac6874a986382fab432109f173cc34f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the ELF section at position <em>sectionIndex</em> to the data source.  <a href="#ac6874a986382fab432109f173cc34f61">More...</a><br /></td></tr>
<tr class="separator:ac6874a986382fab432109f173cc34f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a857a96468b2b7d3b8ae4b981d652b6a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a857a96468b2b7d3b8ae4b981d652b6a9"></a>
virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a857a96468b2b7d3b8ae4b981d652b6a9">getSegmentCount</a> ()</td></tr>
<tr class="memdesc:a857a96468b2b7d3b8ae4b981d652b6a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of segments in the source. <br /></td></tr>
<tr class="separator:a857a96468b2b7d3b8ae4b981d652b6a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45fb8f6b8cb4f4b095de0474cbbc2afa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45fb8f6b8cb4f4b095de0474cbbc2afa"></a>
virtual <a class="el" href="classelftosb_1_1_data_source_1_1_segment.html">DataSource::Segment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a45fb8f6b8cb4f4b095de0474cbbc2afa">getSegmentAt</a> (unsigned index)</td></tr>
<tr class="memdesc:a45fb8f6b8cb4f4b095de0474cbbc2afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the segment at position <em>index</em>. <br /></td></tr>
<tr class="separator:a45fb8f6b8cb4f4b095de0474cbbc2afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classelftosb_1_1_data_source"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classelftosb_1_1_data_source')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classelftosb_1_1_data_source.html">elftosb::DataSource</a></td></tr>
<tr class="memitem:ad476743c1db7ddc5f54ef731ad8887b7 inherit pub_methods_classelftosb_1_1_data_source"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad476743c1db7ddc5f54ef731ad8887b7"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_data_source.html#ad476743c1db7ddc5f54ef731ad8887b7">DataSource</a> ()</td></tr>
<tr class="memdesc:ad476743c1db7ddc5f54ef731ad8887b7 inherit pub_methods_classelftosb_1_1_data_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:ad476743c1db7ddc5f54ef731ad8887b7 inherit pub_methods_classelftosb_1_1_data_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab021fdbf752328b7d76f11c92dee2a26 inherit pub_methods_classelftosb_1_1_data_source"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab021fdbf752328b7d76f11c92dee2a26"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_data_source.html#ab021fdbf752328b7d76f11c92dee2a26">~DataSource</a> ()</td></tr>
<tr class="memdesc:ab021fdbf752328b7d76f11c92dee2a26 inherit pub_methods_classelftosb_1_1_data_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ab021fdbf752328b7d76f11c92dee2a26 inherit pub_methods_classelftosb_1_1_data_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de7033cf482381e2938945247f3775b inherit pub_methods_classelftosb_1_1_data_source"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4de7033cf482381e2938945247f3775b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_data_source.html#a4de7033cf482381e2938945247f3775b">setTarget</a> (<a class="el" href="classelftosb_1_1_data_target.html">DataTarget</a> *target)</td></tr>
<tr class="memdesc:a4de7033cf482381e2938945247f3775b inherit pub_methods_classelftosb_1_1_data_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the associated data target. <br /></td></tr>
<tr class="separator:a4de7033cf482381e2938945247f3775b inherit pub_methods_classelftosb_1_1_data_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46345e60c1233c1eceb3033da4e2a471 inherit pub_methods_classelftosb_1_1_data_source"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46345e60c1233c1eceb3033da4e2a471"></a>
<a class="el" href="classelftosb_1_1_data_target.html">DataTarget</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_data_source.html#a46345e60c1233c1eceb3033da4e2a471">getTarget</a> () const </td></tr>
<tr class="memdesc:a46345e60c1233c1eceb3033da4e2a471 inherit pub_methods_classelftosb_1_1_data_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the associated data target. <br /></td></tr>
<tr class="separator:a46345e60c1233c1eceb3033da4e2a471 inherit pub_methods_classelftosb_1_1_data_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a28613093a1cb0cfbd4cd19d96553992f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28613093a1cb0cfbd4cd19d96553992f"></a>
typedef std::vector&lt; <a class="el" href="classelftosb_1_1_data_source_1_1_segment.html">DataSource::Segment</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a28613093a1cb0cfbd4cd19d96553992f">segment_vector_t</a></td></tr>
<tr class="memdesc:a28613093a1cb0cfbd4cd19d96553992f"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of segment instances. <br /></td></tr>
<tr class="separator:a28613093a1cb0cfbd4cd19d96553992f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ac014d84b55eb9b52d7c687236e088542"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac014d84b55eb9b52d7c687236e088542"></a>
<a class="el" href="class_st_e_l_f_file.html">StELFFile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#ac014d84b55eb9b52d7c687236e088542">m_elf</a></td></tr>
<tr class="memdesc:ac014d84b55eb9b52d7c687236e088542"><td class="mdescLeft">&#160;</td><td class="mdescRight">The ELF file parser. <br /></td></tr>
<tr class="separator:ac014d84b55eb9b52d7c687236e088542"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ea9ea37010c746cf15a5a5b3913ba4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ea9ea37010c746cf15a5a5b3913ba4a"></a>
secinfo_clear_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a8ea9ea37010c746cf15a5a5b3913ba4a">m_secinfoOption</a></td></tr>
<tr class="memdesc:a8ea9ea37010c746cf15a5a5b3913ba4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to deal with the .secinfo section. Ignored if the toolset is not GHS. <br /></td></tr>
<tr class="separator:a8ea9ea37010c746cf15a5a5b3913ba4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad53729583910fd96fbed244efcafeb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaad53729583910fd96fbed244efcafeb"></a>
<a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#a28613093a1cb0cfbd4cd19d96553992f">segment_vector_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#aaad53729583910fd96fbed244efcafeb">m_segments</a></td></tr>
<tr class="memdesc:aaad53729583910fd96fbed244efcafeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The segments of this data source. <br /></td></tr>
<tr class="separator:aaad53729583910fd96fbed244efcafeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classelftosb_1_1_data_source"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classelftosb_1_1_data_source')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classelftosb_1_1_data_source.html">elftosb::DataSource</a></td></tr>
<tr class="memitem:adf49cd610662ffafde71f2a01f2a4c1c inherit pro_attribs_classelftosb_1_1_data_source"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf49cd610662ffafde71f2a01f2a4c1c"></a>
<a class="el" href="classelftosb_1_1_data_target.html">DataTarget</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_data_source.html#adf49cd610662ffafde71f2a01f2a4c1c">m_target</a></td></tr>
<tr class="memdesc:adf49cd610662ffafde71f2a01f2a4c1c inherit pro_attribs_classelftosb_1_1_data_source"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponding target for this source. <br /></td></tr>
<tr class="separator:adf49cd610662ffafde71f2a01f2a4c1c inherit pro_attribs_classelftosb_1_1_data_source"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A data source with ELF file sections as the contents. </p>
<p>Each segment of this data source corresponds directly with a named section of the ELF file it represents. When the data source is created, it contains no segments. Segments are created with the <a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html#ac6874a986382fab432109f173cc34f61" title="Adds the ELF section at position sectionIndex to the data source. ">addSection()</a> method, which takes the index of an ELF section and creates a corresponding segment.</p>
<p>Two segment subclasses are used with this data source. The first, <a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_prog_bits_segment.html" title="Represents one named #SHT_PROGBITS section within the ELF file. ">ProgBitsSegment</a>, is used to represent sections whose type is #SHT_PROGBITS. These sections have binary data stored in the ELF file. The second segment type is <a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_no_bits_segment.html" title="Represents one named #SHT_NOBITS section within the ELF file. ">NoBitsSegment</a>. It is used to represent sections whose type is #SHT_NOBITS. These sections have no data, but simply allocate a region of memory to be filled with zeroes. As such, the <a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source_1_1_no_bits_segment.html" title="Represents one named #SHT_NOBITS section within the ELF file. ">NoBitsSegment</a> class is a subclass of <a class="el" href="classelftosb_1_1_data_source_1_1_pattern_segment.html" title="This is a special type of segment containing a repeating pattern. ">DataSource::PatternSegment</a>. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac6874a986382fab432109f173cc34f61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ELFSourceFile::ELFDataSource::addSection </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>sectionIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds the ELF section at position <em>sectionIndex</em> to the data source. </p>
<p>Not all sections will actually result in a new segment being created. Only those sections whose type is #SHT_PROGBITS or #SHT_NOBITS will create a new segment. Also, only sections whose size is non-zero will actually create a segment.</p>
<p>In addition to this, ELF files that have been marked as being created by the Green Hills Software toolset have an extra step. #SHT_NOBITS sections are looked up in the .secinfo section to determine if they really should be filled. If not in the .secinfo table, no segment will be created for the section. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="apps_2elftosb_2common_2_e_l_f_source_file_8h_source.html">apps/elftosb/common/ELFSourceFile.h</a></li>
<li>apps/elftosb/common/ELFSourceFile.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>elftosb</b></li><li class="navelem"><a class="el" href="classelftosb_1_1_e_l_f_source_file.html">ELFSourceFile</a></li><li class="navelem"><a class="el" href="classelftosb_1_1_e_l_f_source_file_1_1_e_l_f_data_source.html">ELFDataSource</a></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:51 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
